package com.itany.corejava.code08_常用类.string;

import java.util.Arrays;

/**
 * @author 石小俊
 * @version 1.0
 * @date 2023年03月15日 9:36
 */
public class Test02_常用方法 {

    public static void main(String[] args) {
        String s = "Hello World";
        System.out.println("字符串长度为:" + s.length());
        System.out.println("去除首尾空格后的长度:" + s.trim().length());

        // 查找字符所在索引
        System.out.println("字符串or第一次出现的索引位置:" + s.indexOf("or"));
        System.out.println("字符串a第一次出现的索引位置:" + s.indexOf("a"));
        System.out.println("字符串o在索引5(包含)开始第一次出现的索引位置:" + s.indexOf("o", 4));
        System.out.println("字符串l最后一次出现的索引位置:" + s.lastIndexOf("l"));
        System.out.println("字符串a最后一次出现的索引位置:" + s.lastIndexOf("a"));
        System.out.println("字符串l在索引2开始最后一次出现的索引位置:" + s.lastIndexOf("l"));
        // 截取字符串
        // substring(int begin):从指定索引begin开始截取,一直到末尾
        System.out.println(s.substring(6));
        // substring(begin,end):从指定索引begin开始截取,一直到end索引结束,不包含end位置的字符
        System.out.println(s.substring(0, 5));
        // 获取指定索引位置的字符
        System.out.println("获取指定索引位置4的字符:" + s.charAt(4));
        // 字符串拼接,该方法很少使用
        System.out.println("拼接字符串:" + s.concat(",I am admin"));
        // 开发中仍然以+拼接为主
        System.out.println("拼接字符串:" + s + ",I am admin");

        // 判断字符串
        System.out.println("字符串是否以He开头:" + s.startsWith("He"));
        System.out.println("字符串是否以d结尾:" + s.endsWith("d"));
        System.out.println("字符串是否包含子字符串Hello:" + s.contains("Hello"));
        // isEmpty():s.length == 0
        // 判断时判断的是长度为0,因此,其值不能为null
        System.out.println("字符串是否为空:"+s.isEmpty());
        String s2 = "Hello World";
        // 判断值是否相等,只比较栈中的值是否相等
        System.out.println(s.equals(s2));
        String s3 = "hello world";
        String s4 = new String("hello world");
        // 判断值是否相等,只比较栈中的值是否相等,忽略大小写
        System.out.println(s.equalsIgnoreCase(s3)); // true
        System.out.println(s.equalsIgnoreCase(s4)); // true
        System.out.println(s3 == s4); // false

        // 大小写转换
        System.out.println("转换为大写:"+s.toUpperCase());
        System.out.println("转换为小写:"+s.toLowerCase());

        // 替换字符串
        // 使用新字符串替换原有的字符串
        // 将替换后的总字符串返回,对原字符串没有影响
        String s5 = s.replace("o","-");
        System.out.println(s5);
        System.out.println(s);

        // 将字符串通过指定子字符串分割,返回一个对应的字符串数组
        String[] arr = s.split(" ");
        System.out.println(Arrays.toString(arr));

    }

}
